package com.example.controller;

import com.example.common.utils.ResultVO;
import com.example.common.utils.ResultVOUtil;
import com.example.service.WxService;
import com.example.vo.WxUserInfoVO;
import me.chanjar.weixin.common.error.WxErrorException;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import javax.servlet.http.HttpSession;

@RestController
@RequestMapping("/wechat")
public class WxController {

    @Resource
    private WxService wxService;

    /**
     * @param code  用户登录凭证 code码（有效期五分钟）
     * @description 微信登录验证 ： 根据返回code获取用户unionId或openId并存储
     */
    @GetMapping("/code")
    public ResultVO code(String code, HttpSession session) throws WxErrorException {
        wxService.code(code, session);
        return ResultVOUtil.success();
    }

    /**
     * @param wxUserInfoVO  微信用户信息VO
     * @description         微信用户信息录入
     */
    @PostMapping("/save")
    public ResultVO save(@RequestBody WxUserInfoVO wxUserInfoVO, HttpSession session) {
        wxService.save(wxUserInfoVO, session);
        return ResultVOUtil.success();
    }
}
